'''小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。
例如, 2022排在409前面,因为2022的数位之和是6,小于409的数位之和13
又如,6排在2022前面,因为它们的数位之和相同,而6小于2022。
给定正整数n, m,请问对1到n采用这种方法排序时,排在第m 个的元素是多少?
输入格式
输入第一行包含一个正整数n。
第二行包含一个正整数m。
输出格式
输出—行包含一个整数,表示答案
样例输入
13
5
样例输出
3'''
代码：
import os
import sys

n = int(sys.stdin.readline().strip())
m = int(sys.stdin.readline().strip())

def get_sum(n):
  return sum(int(i) for i in str(n))

num = list(range(1, n+1))
num.sort(key=lambda x: (get_sum(x), x))
#利用str是可迭代的对象，进行按位数求和;再利用list对象的sort方法按规则进行排序

print(num[m-1])